System and method for configuring a storage area network

ABSTRACT

In accordance with teachings of the present disclosure, a system and method are described for configuring a storage area network. In one aspect, the system includes a multiple SAN elements that a user may select as well as a design module in which the selected SAN elements may be graphically configured. The system also includes a validation engine which dynamically validates the configuration of the selected SAN elements. More particularly, the system may include a report engine operable to provide a configuration report of the selected SAN configuration. The report engine may produce a SAN topology report, a SAN inventory report, including a listing of existing SAN elements and a SAN cable configuration report.

TECHNICAL FIELD

[0001] The following disclosure relates in general to the field of electronic systems and more particularly to a system and method for configuring a Storage Area Network.

BACKGROUND

[0002] A noticeable dilemma in the Storage Area Network (SAN) industry is the disparity between the benefits of SAN technology and the complexity of SAN configuration, deployment and operation. The Information Technology (IT) departments that operate SANs are often hampered by complex SAN topologies and configurations—leading to increased management costs. Additionally, IT departments face challenges due to the scarcity of highly trained personnel as well as the need for rapid deployment of SANs. Additionally, the ongoing operation of a SAN is effected by IT environments that often experience human resources turnover due to industry wide competition. As a result, when an employee departs from an organization, that organization often loses an important source of technical knowledge.

[0003] An organization considering implementing a SAN faces a number of challenges. These challenges may include: designing the SAN, communicating the SAN design to interested parties, installing the SAN and managing changes to the SAN after installation. The first-and often the most complex-step for deploying a SAN is determining a proper design and configuration to meet a user's needs. The complexities associated with SANs often revolve around how a SAN is incorporated within a storage system, how the SAN works with individual storage components, and how to design the overall topology of the SAN. SANs are often designed with pencil and paper. For more complex SAN configurations, such a technique is inadequate, inviting errors and miscalculations. Further, users are often faced with the daunting task of determining which components are needed for a new or modified SAN and how to configure these components so they will work with existing components and cabling.

[0004] Once a SAN configuration has been determined, those requirements as well as the benefits of the proposed configuration typically need to be communicated to others. This communication is needed to ensure that the procurement, management and implementation of the SAN can proceed efficiently. However, this type of communication is frequently lacking, hindering the operation and ongoing management of the SAN.

[0005] The initial installation and deployment of a SAN is also often hindered by poor communication. This can lead to problems in verifying that all necessary elements have been received and that the elements of the SAN are correctly installed. The installation is further complicated by the common practice of having a separate group of professionals install the SAN. Yet another problem is that a deficient understanding of the configuration of the SAN often leads to extensive trouble shooting an reworking to solve problems that arrive during the ongoing operation of the SAN.

SUMMARY

[0006] Therefore a need has arisen for an improved system and method for designing and configuring a SAN.

[0007] A further need has arisen for a system and method for communicating SAN configuration information to facilitate the installation of a SAN.

[0008] A further need has arisen for a system for generating and communicating SAN topology information for operation and maintenance of a SAN.

[0009] In accordance with teachings of the present disclosure, a system and method are described for configuring a SAN. In one aspect, the system includes multiple SAN elements that a user may select as well as a design module in which the selected SAN elements may be graphically configured. The system also includes a validation engine which dynamically validates the configuration of the selected SAN elements. More particularly, the system may include a report engine operable to provide a configuration report of the selected SAN configuration. The report engine may produce a SAN topology report, a SAN inventory report and a SAN cable configuration report. These reports may be used as dynamic installation documentation instructing the user how to install and configure the SAN per the SAN configuration topology.

[0010] In another aspect of the present disclosure a method for designing a SAN is disclosed. The method includes selecting one or more SAN elements and arranging the selected SAN elements in a design module. The method further includes validating the arrangement of the selected SAN elements. More particularly the method may include producing a report of the selected configuration of SAN elements.

[0011] In one embodiment the system provides a GUI-based tool that graphically displays selected SAN elements as if sketched on a piece of paper. The tool offers a drag-and-drop approach to topology design that allows users to add components to the SAN with real-time rule validation when a new component is selected. The selected and validated SAN configuration may then be printed or electronically communicated. This method and system promotes smooth and effective communication between the SAN designer, future users, consultants (such as outside consultants tasked with installing a SAN), and sales representatives.

[0012] The present disclosure includes a number of important technical advantages. One technical advantage is providing a design module for configuring selected SAN elements and providing a validation engine for validating the selected SAN configuration. The design module and validation engine provide an improved system and method for designing and configuring a SAN.

[0013] Another technical advantage is including a report engine capable of producing a topology report, an inventory report and a cable configuration report. The reporting engine provides a convenient platform for communicating SAN configuration and topology information in support of the installation, maintenance, and ongoing operation of a SAN.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:

[0015]FIG. 1 is a user interface of a SAN configuration tool according to the present disclosure;

[0016]FIG. 2 is a user interface of a configuration tool according to the present disclosure including a graphic display of a selected SAN configuration and a cluster profile tool;

[0017]FIG. 3 is a user interface showing a SAN configuration tool according to the present disclosure including cabling tools;

[0018]FIG. 4 is a SAN configuration report according to the present disclosure:

[0019]FIG. 5 is a diagram of a SAN configuration tool according to the present disclosure; and

[0020]FIG. 6 is a flow diagram of the operation of a SAN configuration tool according to the present disclosure.

DETAILED DESCRIPTION

[0021] Preferred embodiments and their advantages are best understood by reference to FIGS. 1 through 6, wherein like numbers are used to indicate like and corresponding parts.

[0022] Now referring to FIG. 1 which shows a user interface of a SAN configuration tool, indicated generally at 10, according to the present disclosure. SAN configuration tool 10 includes a plurality of selectable SAN elements 12 and design module 14. Design module 14 is operable to graphically receive selected SAN elements 12 to be graphically configured and connected into a storage area network (SAN). SAN elements 12 may be selected using an interface tool such as a mouse or keyboard (not expressly shown). In the present embodiment selectable SAN elements 12 include bundles 16, servers 18, bridges 20, switches 22, SAN appliances 24, IP mirrored SAN appliances 26, disk arrays 28 and tape libraries 30. Alternatively SAN elements 12 may include additional SAN elements or network devices suitable to be included within a SAN.

[0023] Bundles 16 may include pre-configured SANs that may be selectively modified or adapted by a user. Bundles 16 provide a good beginning point for a user as they begin to design their own SAN. Servers 18 may include selectable server elements that are listed according to manufacturer and model. Bridges 20, switches 22, SAN application appliances 24, IP mirrored SAN appliances 26, disk arrays 28 and tape libraries 30 may also be listed according to manufacturer and model.

[0024] In one embodiment the design module may be preferably divided into three sections: a server section, a storage section, and an interconnect section. For example, servers 18 are placed in the server section because the SAN Configuration Tool will not allow servers 18 to be placed in the storage or interconnect sections. Similarly, storage components are be placed in the storage section, and interconnect components such as switches 22, bridges 20 and SAN appliances 24 are placed in the interconnect sections. This ensures a consistent and clean look-and-feel for the overall SAN topology within design module 14.

[0025] In the present embodiment after a SAN element 12 is selected SAN element 12 is preferably profiled using profile utility 32 which may also be referred to as a profile wizard and is preferably operated by profile engine described in FIG. 5 herein. Profile utility 32 generally includes a field for entering and displaying element characteristics 34 as well as a field for displaying host bus adapter (HBA) 36 for the network element in question.

[0026] Fields included within element characteristics 34 include manufacturer field 38, model field 40, operating system field 41 for listing the operating system running on the selected element, tape backup system, field 42 and SAN element description field 44. Manufacturer field 38 and model field 40 are automatically generated according to manufacturer and model of the selected element. Operating system field 41, tape backup system field 42, and element description field 42 are preferably selected by a user. Particularly element description field 44 is preferably provided to allow a user to name a selected element or otherwise give a selected SAN element a unique identifier. Gathering this profile information may enable system designers to easily communicate the configuration to sales representatives and consultants later in the design process.

[0027] In a particular embodiment, profile engine may query a user for a network transport type such as a copper or optical HBA network transfer type.

[0028] In the present embodiment SAN configuration tool user interface 10 includes toolbar 50. Toolbar 50 preferably includes new document button 52, open file button 54, save file button 56 and print button 58. New document button 52 allows a user to open a new document. Open file button 54 allows a user to access an existing document for review and revision. Save file button 56 allows a user to save a design document. Print button 58 allows a user to print a design document to an associated printer (not expressly shown). Further toolbar 50 may also include a validation button 60. Validation button 60 allows a user to validate an entire SAN configuration displayed within design module taking into consideration clustering and zoning relationships as they relate to each component within the SAN 14.

[0029] Save button 62 allows a user to save the report in suitable format such as .rtf format. Documentation button 64 allows a user to access on line documentation information and cable button 66 allows the user to create a cable object to connect SAN elements. Cable button 66 preferably allows a user to select and place SAN component 12 in design module 14 and then select another SAN component 12 in design module 14, thereby connecting the SAN components with the appropriate cable. A cable wizard may preferably be activated instructing the user to input particular aspects such as: connection type such as a port on a switch, type of SAN Fabric such as 1 GB or 2 GB (gigabit) fabric, and cable length.

[0030] Referring now to FIG. 2 user interface 10 of a configuration tool according to the present disclosure including a selected SAN configuration, zone profile and a cluster profile utility is shown. Configuration tool user interface 10 includes selectable SAN devices 12 which may be graphically selected in design module 14 using a drag-and-drop type technique. In the present embodiment, the selected SAN configuration displayed in design module 14 includes selected servers 72 and selected switches 74. Selected servers 72 are preferably connected to selected switches 74 by cabling 70. The selected SAN configuration also includes bridges 76, selected SAN appliances 78, selected disk arrays 80 and selected tape libraries 82, all connected by cabling 70.

[0031] A cluster is a grouping of multiple servers in a way that allows them to appear to be a single unit to client computers on a network. Clustering is frequently used to increase network capacity, provide live backup if one server in the cluster fails, and to improve data security. Cluster profile 83 is preferably provided to identify and obtain profile information for clusters within the selected SAN configuration. Cluster profile 83 includes a cluster name, a display color for indicating the selected cluster as well as a listing of the selected SAN elements that are included within a selected and configured cluster.

[0032] A zone is a grouping of multiple SAN components in a way that allows them to appear to be in a single Fabric within the SAN infrastructure. Zoning is a frequently used technique used to separate active and passive paths in order to coordinate path fail-over techniques used for high availability. A zone profile similar to a cluster profile may also be included to identify and select SAN components with a zone.

[0033]FIG. 3 is a SAN configuration tool user interface according to the present disclosure. SAN configuration tool user interface 10 includes selectable SAN elements 12 and design module 14. In the present embodiment design module 14 includes a selected SAN configuration including servers 72, switches 74, SAN appliances 78, disk arrays 80 and tape libraries 82 interconnected by cabling 70.

[0034] Configuration tool user interface 10 also includes selectable cable elements 89. Selectable cable elements 89 include new cable elements 90 and existing cable elements 92. New cable elements 90 are preferably selectable cable elements for connecting SAN elements 12 within a selected SAN configuration that a user or designer does not currently have. Existing cable elements 92 (and denoted with dashed lines for ease of use) include selectable cable elements that a user or a designer currently has access to. Providing both new cable elements 90 and existing cable elements 92 allows a user or a procurement professional to utilize the cabling the user already has access to and to assess the new cabling the user will need to procure in order to build the contemplated SAN design.

[0035] Referring now to FIG. 4, a SAN configuration report according the present disclosure is indicated generally at 100. SAN configuration report 100 includes a SAN element inventory report 102 and a cable configuration report 104. SAN configuration report 100 further includes SAN cabling inventory report 116.

[0036] SAN element inventory report 102 includes device summary 106 listing devices contained in the selected SAN configuration. SAN element inventory report 102 further includes total quantity 108 of each type of SAN element within the selected SAN configuration. Total quantity 108 is further existing quantity 110 and new quantity 112 of each type of SAN element. The listing of existing quantity 110 and new quantity 112 provides the designer of a SAN with valuable information regarding the necessary SAN elements required to install and deploy a contemplated SAN configuration. SAN inventory report 102 allows users such as sales personnel and installation personnel to determine whether all new equipment has been obtained and to further determine which existing equipment is to be used.

[0037] SAN cabling inventory report 118 includes a summary of the type of cables within a selected SAN configuration. The color 120 of the cables within the SAN, the length 122 of the cables within the SAN and the total quantity 124 of the cables within the selected SAN configuration are preferably included in SAN configuration report 100. The cables are preferably listed according to existing quantity 126 of the cables and the quantity of new cables 128 required for the contemplated SAN configuration.

[0038] Cable configuration report 104 provides a description of cabling specific to each element 130 for a particular SAN configuration. Cable configuration report 104 further includes a listing of connected devices 132 specific to each SAN element 130. Cable configuration report 104 also includes a description of the connection between each listed SAN element 130 and the elements attached thereto.

[0039]FIG. 5 is a diagram of a SAN configuration tool indicated generally at 120, according to the present disclosure. SAN configuration tool 120 includes selectable elements 122 operatively connected to design module 124. Selectable elements 122 may be selected by a user and graphically placed into design module 124 using a drag-and-drop type method.

[0040] Selectable cabling 123 is also operatively connected to design module 124. Selectable cabling 123 may be user selected to connect selected SAN elements 122 within design module 124. Design module 124 is further operably connected to validation engine 126 profiling engine 128 and report engine 130. Additionally, validation engine 126 is connected to rules database 132. In the present embodiment, validation engine 126 includes element validation module 134, cluster validation module 136, zone validation module 145 and master validation module 138.

[0041] Report engine 130 further includes topology report generator 140, inventory report generator 132 and cable configuration report generator 144. Cable configuration report generator 144 and topology report generator may preferably generate installation documentation detailing the cabling associated with each component with the SAN. Such installation documentation preferably includes a detailed explanation of the cabling associated with each port of each SAN component. Inventory report generator 132 may preferably generate a report listing profile information for each SAN component. In a particular embodiment, this inventory report may include a description of the service level associated with each SAN component.

[0042] In operation, elements are selected from selectable elements 122 and placed into design module 124. As each selected SAN element is selected and placed within design module 124, profile engine 128 preferably generates a user interface such as a window that requires a user to input profile information about the selected SAN element. Profile engine 128 preferably obtains a portion of the profile information using the characteristics of the selected element such as the model and manufacturer of the selected component. Additionally, profile engine may automatically input additional input related to the type of SAN element selected and stored within a memory (not expressly shown) accessible to profile engine 128.

[0043] Profile engine further obtains SAN element profile information via user input such as the type of operating system running on the selected element and providing a unique identifier for the SAN element. In a preferred embodiment, profile engine 128 may compare user provided information about selected SAN elements 122 with stored information regarding SAN element characteristics. If the comparison reveals an inconsistency, profile engine 128 preferably generates an error message. For example, if a user inputs a storage capacity for a Disk Array that beyond the known capacity for the model of Disk Array selected, profile engine 128 preferably generates an appropriate error message. Additionally, if a user inputs a unique identifier for an element that is identical to another element identifier, profile engine 128 preferably generates an appropriate error message.

[0044] Selectable elements are then preferably connected with cabling 123 in design module 124. After selected elements 122 are connected using cabling 123, element validation module 134 of validation engine 126 validates the element to element relationship of the connected elements. When a cable is selected the user clicks and drags the cable connecting two elements together. The selected cabling and the components to which it is attached may preferably be validated.

[0045] The SAN Configuration Tool may interactively alert the user that a component can or cannot be cabled in the proposed way. These alerts or error messages occurring at the beginning of the process can eliminate re-engineering during installation and operation. In a preferred embodiment, if an error is detected, both an error message as well as a recommendation as to the resolution to the problem is displayed.

[0046] After sufficient elements have been placed in the design module the user may select to establish clusters within design module 124. In one embodiment, a user may select a cluster dialog box and select a color for a cluster to aid in distinguishing the cluster multiple clusters in a SAN. The user may then select elements automatically adding it to the cluster color group. Following the identification of elements within a cluster, validation engine 126 may then validate selected clusters within design module 124 via cluster module 136 and the use of cluster rules contained in rules database 132. Cluster validation module preferably validates that the relationship between the cluster servers, switches, storage and the fabric complies to clustering rules contained in database 132.

[0047] Additionally, a user may select a zone dialog box and select a color to help a user identify and distinguish multiple zones in a SAN. A user may then select SAN elements, thereby adding those SAN elements to the zone color group. After elements within a zone are identified, zone validation module 145 preferably validates that the relationship between the zone components complies with zoning rules.

[0048] After a SAN configuration has been established within design module 124, validation engine 126 preferably employs master validation module 138 to validate the selected SAN configuration. Master validation module 124 is preferably operable to determine whether the SAN configuration complies with rules contained in rules database 132. In a preferred embodiment, master validation module 138 is activated by selecting a button on a tool bar (as shown in FIG. 1). Rules contained in rule database 132 and programmed into validation engine 126 preferably include basic core rules related to the SAN in general that are object independent as well as the rules specific to each object. Also, additional rules pertaining to the interconnect relationship, fabric rules, clustering rules, zoning rules, and a master rule set for the entire SAN design are preferably included.

[0049] In one embodiment, the master validation includes a first step of validating each component against a component rule list. This is to ensure that the components themselves are configured correctly. Next, component connection validation occurs. This step verifies that each component is connected correctly to upstream and downstream components. It also validates that the cables used to connect the components are of the correct type, length and end connector types for each component. Next, Clustering rules are validated. This validation procedure cross-references the clustering rules and verifies that the components connected to the cluster servers are valid under clustering rules. Finally, zones are validated against the zone rules. This step validates that the zones are correctly configured with the proper relationships between clustered servers, components and component dependencies. Now referring to FIG. 6 a flow diagram of the use of a SAN configuration tool, indicated generally at 160, is shown. The use of a SAN configuration tool begins at 162 in which a SAN element is selected 164. The SAN element is then profiled 166 using a profiling engine (as shown in FIG. 5). Next, it is then determined whether or not any additional SAN elements are desired to be selected 168. If an additional element is desired to be selected then an additional element is selected 164. However if the selection of elements is complete, cabling is selected 170. After selecting and establishing the type of cabling connecting SAN elements the relationship between the cabled elements is validated 172. In one particular embodiment this step is performed by an element validation module (as shown in FIG. 5).

[0050] After cabled elements have been validated then a user may choose to establish clusters within the SAN configuration 171. Clusters may then be defined 173 and thereafter validated 174. In a particular embodiment, the cluster validation step may be facilitated by a cluster validation module (as shown in FIG. 5). It should be noted that a user may elect not to establish a cluster within a give SAN, and that multiple clusters may be established. After the one or more clusters have been defined and validated the SAN may preferably be zoned 182 to separate out clustered servers or separate host based operating systems or backup configurations. Users may preferably define zones 184 by selecting a zoning utility, selecting a color to uniquely identify the zone, and selecting the SAN elements that are to be associated with the zone. Real-time validation of the zone may preferably be performed when the SAN element is selected 186. If the SAN element is determined to be invalid, it will not allow the object to be applied to the zone. After one or more zones have been created, the SAN configuration as a whole may be validated 176. This step may also be referred to as master validation step and, in a preferred embodiment, may be performed by a master validation module (as shown in FIG. 5). After the master validation of a SAN configuration 176, a report may be generated. In a preferred embodiment, the generated report may preferably include a topology report, a cable configuration report, and a SAN inventory report.

[0051] In one particular embodiment, these SAN configurations topologies may be saved to disk with the file extension .sto. These .sto files typically feature an optimized format that generally will not exceed 30 KB. This feature preferably reduces the file size to facilitate sharing of information regarding the SAN configuration over a network such as the Internet or via electronic mail. After the SAN has been validated, a report can be generated in a suitable format such as .rtf format.

[0052] Although the disclosed embodiments have been described in detail, it should be understood that various changes, substitutions and alterations can be made to the embodiments without departing from their spirit and scope. 

What is claimed is:
 1. A computer system for configuring a storage area network comprising: a plurality of selectable SAN elements; a design module operable to graphically configure selected SAN elements; and a validation engine operable to dynamically validate the configuration of the selected SAN elements.
 2. The computer system of claim 1 further comprising the validation engine operable to provide dynamic validation of the selected SAN design.
 3. The computer system of claim 2 wherein the validation engine further operable to: validate selected SAN elements and validate configured selected SAN elements.
 4. The computer system of claim 1 further comprising a report engine operable to provide a configuration report of the selected SAN.
 5. The computer system of claim 3 wherein the configuration report further comprises: a SAN topology report; a SAN inventory report; and a SAN cable configuration report.
 6. The computer system of claim 1 wherein the selectable SAN elements further comprise: at least one server element; at least one switch element; and at least one storage element.
 7. The computer system of claim 1 wherein the selectable SAN elements further comprise at least one preconfigured SAN design.
 8. The computer system of claim 1 further comprising a profile engine for profiling the characteristics of each selected SAN element.
 9. The computer system of claim 1 wherein the configuration report further comprises installation documentation for the selected SAN elements.
 10. The computer system of claim 1 wherein the selectable SAN elements further comprise a plurality of selectable connector elements.
 11. The computer system of claim 1 further comprising the design module operable to respond to drag-and-drop type user input.
 12. A SAN configuration tool comprising: a plurality of selectable SAN elements; a design module operable to graphically configure selected SAN elements; and a validation engine operable to dynamically validate the configuration of the selected SAN elements.
 13. The SAN configuration tool of claim 12 further comprising a graphic user interface operable to respond to user input.
 14. The SAN configuration tool of claim 12 wherein the selectable SAN elements further comprise: at least one server element; at least one switch element; and at least one storage element.
 15. The SAN configuration tool of claim 12 wherein the selectable SAN elements further comprise at lease one existing SAN element.
 16. The SAN configuration tool of claim 12 wherein the validation engine further operable to: validate selected SAN elements and validate configured selected SAN elements.
 17. The SAN configuration tool of claim 12 further comprising a report engine operable to provide a configuration report for each selected SAN element.
 18. A method for designing a Storage Area Network comprising: selecting a plurality of SAN elements arranging the selected SAN elements in a design module; and validating the arrangement of selected SAN elements.
 19. The method of claim 18 further comprising producing a configuration report of the selected arrangement of SAN elements.
 20. The method of claim 18 further comprising communicating the validated arrangement of SAN elements across a network. 